Schema-Verwaltung
Vor dem ersten Datenimport muss das Datenbankschema erstellt werden. Das Schema umfasst alle Tabellen, Spalten und Auswahllisten, basierend auf das BaSYS-Datenmodell in MapEdit.

Schema-Status
Im oberen Bereich der Datenbank import-Ansicht zeigt ein farbiges Banner den aktuellen Status:
| Farbe | Bedeutung |
|---|---|
| 🟢 Grün | Schema vorhanden und aktuell — bereit für den Import |
| 🟠 Orange | Schema vorhanden, aber Änderungen erkannt oder API-Version hat sich geändert |
| 🔴 Rot / fehlend | Kein Schema gefunden — Schema erstellen vor dem Import |
Schema erstellen
Klicken Sie auf Schema erstellen, um das Schema vollständig aufzubauen. Folgende Optionen stehen zur Verfügung:
| Option | Standard | Wirkung |
|---|---|---|
| Vorhandene Daten löschen | Ein | Löscht alle bestehenden BaSYS-Daten vor der Tabellenerstellung |
| Tabellen importieren | Ein | Erstellt Feature-Tabellen |
| Auswahllisten importieren | Ein | Erstellt Auswahllisten-Nachschlagetabellen |
Das PlugIn führt dabei folgende Schritte durch:
- Vergleicht die gespeicherte Schema-Version mit der aktuellen API-Version
- Sichert benutzerdefinierte Views automatisch (sofern ein Config-Verzeichnis konfiguriert ist)
- Erstellt alle Themen, Tabellen, Auswahllisten und internen Unterstützungstabellen neu
- Schreibt einen Schema-Snapshot in die Datenbank
Während der Schema-Erstellung zeigt das PlugIn einen Fortschrittsindikator mit dem aktuellen Schritt, einem Fortschrittsbalken und einem Live-Protokoll der ausgeführten Aktionen:

Die Schema-Erstellung kann bei großen BaSYS-Instanzen mehrere Minuten dauern, da Tabellendefinitionen und Auswahllisten von der API abgerufen werden.
Was die Schema-Erstellung anlegt
Feature-Tabellen (Präfix BA_)
Für jeden BaSYS-Objekttyp wird eine eigene Tabelle angelegt, z. B. BA_Abwasserschacht, BA_Haltung. Spaltendefinitionen werden zur Laufzeit von der API abgerufen.
Auswahllisten-Tabellen (Präfix BA_)
Nachschlagetabellen für alle Auswahllisten-Spalten mit den Feldern ID, VALUE und SHORT_VALUE.
MapEdit-Topics
Tabellen werden in Themengruppen entsprechend der BaSYS-Hierarchie eingeordnet: BaSYS_Stammdaten, BaSYS_Allgemein, BaSYS_Zustandsdaten, Views.
Systemtabellen
| Tabelle | Inhalt |
|---|---|
BasysVersion | Schema-Erstellungsdatum, API-Version, Gemeinde- und Projektvariante, Import-Datum |
BasysLog | Protokoll wichtiger Operationen |
BasysSchemaSnapshot | Abbild der Tabellen- und Spaltenstruktur zum Zeitpunkt der letzten Schema-Erstellung |
Basys_Topology_CONN | Verbindungstabelle für die Kanalnetz-Topologie |
Schema prüfen
Klicken Sie auf Schema prüfen, um den aktuellen Datenbankzustand mit den API-Definitionen zu vergleichen. Die Prüfung erkennt:
- Neue Spalten, die in der BaSYS-API hinzugefügt wurden
- Aus der API entfernte Spalten
- Neue Tabellen in der Konfiguration, die noch nicht in der Datenbank existieren
- Änderungen der Auswahllisten-Eintragsanzahl
Wenn die Schema-Prüfung Änderungen erkennt, erscheint folgender Dialog:

Inkrementelles Update
Das inkrementelle Update:
- Fügt neue Spalten zu bestehenden Tabellen hinzu — ohne Datenverlust
- Erstellt neue Tabellen, die in der Konfiguration, aber noch nicht in der Datenbank vorhanden sind
- Aktualisiert Auswahllisten-Tabellen, deren Eintragsanzahl sich geändert hat
Das inkrementelle Update entfernt keine Spalten und ändert keine Spaltentypen — solche Änderungen erfordern eine vollständige Neuerstellung.
Schema-Snapshot
Der Schema-Snapshot ist eine normalisierte Kopie der API-zurückgegebenen Tabellen- und Spaltendefinitionen, gespeichert in der Datenbank. Er wird nach jeder erfolgreichen Schema-Erstellung oder nach einem inkrementellen Update geschrieben und dient als Basis für den Schema-Vergleich bei der nächsten Prüfung.